import axios from "axios";
import config from "../config/index.js";
/* const instance = axios.create({
  baseURL:"https://some-domain.com/api/",
  timeout:1000,
  headers:{"X-Custom-Header":"foobar"}
})
 */
const baseURL =process.env.NODE_ENV ==="development"?config.basUrl.dev:config.basUrl.pro;
class HttpRequest{
  constructor(baseUrl){
    this.baseUrl = baseUrl
  }
  getInsideConfig(){
    const config = {
      baseUrl:this.baseUrl,
      header:{}
    }
    return config
  }
  interceptors(instance){
    // 请求拦截器
    instance.interceptors.request.use(function(config){
      return config;
    },function(error){
      return Promise.reject(error)
    });
    // 响应拦截器
    instance.interceptors.response.use(function(response){
      return response;
    },function(error){
      return Promise.reject(error)
    })
  }
  request(options){
    const instance= axios.create();
    options={
      ...this.getInsideConfig(),
      ...options
    }
    this.interceptors(instance)
    return instance(options)
  }
}
export default new HttpRequest(baseURL)